#ifndef _CHARACTERENTITY_
#define _CHARACTERENTITY_

#include "UpdatableEntity.hpp"
#include "Entity.hpp"

/** 
* Base class for a character entity.
*/
class CharacterEntity:public Entity, public UpdatableEntity{
protected:

	/** 
	* The map the entity is in.
	*/
	Map* map;

public:
	CharacterEntity();
	CharacterEntity(Map* m, float x, float y, byte dir);

	void init(Map* m, float x, float y, byte dir);

    virtual void setLocation(float x, float y, byte dir);
    virtual void setMap(Map* m);
	virtual void move();
    virtual void moveX();
    virtual void moveY();
    
	virtual void update();
};

#endif